package com.hisense.ovcloud.commons.dto.req;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(title = "create product request")
public class CreateProductReq {
    @Schema(name = "majorDomainId", format = "String", example = "9")
    private String majorDomainId;

    @Schema(name = "subDomainId", format = "String", example = "2")
    private String subDomainId;

    @Schema(name = "developerId", format = "String", example = "222")
    private String developerId;

    @Schema(name = "name", format = "String", example = "kasadi")
    private String name;

    @Schema(name = "type", format = "String", example = "washing machine")
    private String type;

    @Schema(name = "protocol", format = "String", example = "hop")
    private String protocol;

    @Schema(name = "transportProtocol", format = "String", example = "tcp")
    private String transportProtocol = "tcp";

    @Schema(name = "model", format = "String", example = "1acc1r")
    private String model;

    @Schema(name = "os", format = "String", example = "linux")
    private String os;

    @Schema(name = "manufacture", format = "String", example = "hisense")
    private String manufacture;

    @Schema(name = "communication", format = "String", example = "110110110")
    private String communication;

    @Schema(name = "featurecode", format = "String", example = "8650011000100010001000000")
    private String featurecode;

    @Schema(name = "thirdCloud", format = "String", example = "jimi")
    private String thirdCloud;

    @Schema(name = "description", format = "String", example = "332211")
    private String description;

    @Schema(name = "category", format = "int32", example = "1")
    private int category;

    @Schema(name = "variety", format = "int32", example = "1")
    private int variety;

    @Schema(name = "brand", format = "int32", example = "Haier")
    private int brand;

    @Schema(name = "secType", format = "String", example = "RSA")
    private String secType = "RSA";

    @Schema(name = "productImageUrl", format = "String", example = "www.byd.com")
    private String productImageUrl;

    @Schema(name = "departmentId", format = "int32", example = "666")
    private int departmentId;

    @Schema(name = "licenseMode", format = "int32", example = "666")
    private int licenseMode;
}
